package com.ginmeta.common.base;

import cn.dev33.satoken.stp.StpUtil;
import com.ginmeta.common.utils.SystemUtils;
import com.ginmeta.domain.login.LoginUser;
import com.ginmeta.domain.system.entity.SysUser;

/**
 * 登录
 * @author GinMeta
 */
public interface StpLoginInterface {

    default LoginUser getLoginUser() {
        // 登录用户, 根据序列化自定义实现
        return (LoginUser) StpUtil.getSession().get(SystemUtils.LOGIN_USER);
    }

    default SysUser getLoginSysUser() {
        return getLoginUser().getUser();
    }

    default String getLoginUsername() {
        return getLoginUser().getUser().getUsername();
    }

    default Long getLoginUserId() {
        return getLoginUser().getUser().getUserId();
    }
}
